16318
13130
На этот вопрос уже есть ответы здесь:
Как мне вернуть ответ от асинхронного вызова?
(42 ответа)
Закрыт 5 месяцев назад.
Поэтому при запуске следующего кода ответ console.log (ba) не определен
Но когда я пробую это в консоли Chrome V8, я получаю правильный результат, которого ожидал. Я не совсем уверен, что здесь происходит.
пусть ба;
function Setqa () {
(async () => {
ожидание получения ('questions.json')
.then (res => res.json ())
.then (async (данные) => {
ba = ждать данных;
});
}) ();
}
Setqa ();
console.log (ба);
Содержимое json-файла следующее:
"вопросов": [{
"questionType": "несколько",
"вопрос": "Какая погода",
"ответы": "",
"вопрос ответ": ""
},
{
"questionType": "несколько",
"вопрос": "Как дела?",
"answers": " 1",
"questionAnswer": "textPurpose1"
}
] 
Я думаю, это должно сработать
пусть ба;
function Setqa () {
вернуть выборку ('questions.json')
.then (res => res.json ())
.then (async (данные) => {
ba = ждать данных;
});
}
Setqa (). Then (() => console.log (ba));
Но лучший подход был бы
асинхронная функция setQa () {
const res = await fetch ('questions.json');
вернуть res.json ();
}
let ba = ждать setQa ();
|
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками javascript json fetch console.log или задайте свой вопрос.